package com.utooo.bid.service;

import dev.langchain4j.data.message.ChatMessage;
import dev.langchain4j.service.MemoryId;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import reactor.core.publisher.Flux;

import java.util.List;

public interface RagAssistant {

    @SystemMessage("You are a helpful assistant. Answer the question based on the retrieved content.")
    String chat(@MemoryId String memoryId, @UserMessage String userMessage);

    Flux<String> stream(@MemoryId String memoryId, @UserMessage String userMessage);
    Flux<String> stream(List<ChatMessage> messages);
    Flux<String> stream(String message);
}